#ifndef MENUS_H
#define MENUS_H

#include "StateManager.h"
#include "BitmapFont.h"
#include "GUI.h"
#include "CollapseGUIStyle.h"

using namespace Cvekas;

class MainMenu : public State
{
public:
	MainMenu(RendererPtr main_renderer, BitmapFontPtr font)
		: State(main_renderer), font(font)
	{
		Engine e;
		gui = e.getGUI();
	}

	virtual void render(const StateManager& state_manager);  
	virtual void fade(const StateManager& state_manager, float amount, uint from, uint to);

private:
	GUIPtr gui;
	BitmapFontPtr font;
};
typedef boost::shared_ptr<MainMenu> MainMenuPtr;

class OptionsMenu : public State
{
public:
	OptionsMenu(RendererPtr main_renderer, BitmapFontPtr font, CollapseGUIStylePtr gui_style);

	virtual void render(const StateManager& state_manager);  
	virtual void fade(const StateManager& state_manager, float amount, uint from, uint to);

private:
	GUIPtr gui;
	CollapseGUIStylePtr gui_style;
	BitmapFontPtr font;

	std::vector<std::string> resolutions;
};
typedef boost::shared_ptr<OptionsMenu> OptionsMenuPtr;

#endif